Kdenlive mlt y codecs h264 (libx264)

Descripcion

Como solucionar los problemas que se nos pueden dar end kdenlive con mlt y los codecs h264 (o la librería libx264).

Metodo

Nos podemos encontrar con varios problemas, el primero es que la aplicación de kdenlive se inicie correctamente, pero al intentar procesar un proyecto nos encontramos con el siguiente error:

En este caso este error se da porque la librería libmltavformat.so no tiene los codecs necesarios, en este caso podemos compilar mlt a mano para obtener el so con los codecs necesarios y substituirlo en nuestra instalación en la siguiente página se muestran una seríe de scripts para facilitar el proceso de compilación manual:

MLT Build Scripts

En nuestro caso necesitaríamos el script build-melt.sh

Una vez generado el proyecto, dentro de la carpeta melt/20230627/lib64/mlt-7/ tendremos todos los .so

Dejo por aqui el archivo libmltavformat.so ya compilado para poder usarlo directamente (sin necesidad de tener que compilar todo el proyecto)

Este archivo tenemos que substituirlo en la carpeta de nuestro sistema: /usr/lib64/mlt-7/

Otra librería que tambien podemos substituir es la frei0r dejo aqui tambien el so: libmltfrei0r.so

Una vez substituidas las librerías reiniciamos kdenlive y ya nos debería de dejar procesar archivos con el codec h264 (libx264).

Variables de entorno no definidas

Otro problema que podemos tener es que al intentar arrancar kdenlive nos encontramos con un error como el siguiente:

Este error se da porque no tenemos las variables de entorno de mlt definidas y mlt no es capaz de encontrar ni los modulos ni los drivers.

Para solucionar este problema solo tenemos que definir las siguientes variables de entorno en nuestro archivo ~/.profile:

export MLT_REPOSITORY="/lib64/mlt-7"
export MLT_DATA="/usr/share/mlt-7"
export PKG_CONFIG_PATH="/lib64/pkgconfig":$PKG_CONFIG_PATH

Con estas variables declaradas en el .profile solo tenemos que reiniciar el equipo y kdenlive ya se abrirá correctamente.

Tags

Kdenlive | libx264 | codecs | mlt